﻿using System;
using System.Runtime.InteropServices;

namespace Kyoh.Lib.Excel
{
    /// <summary>IDispatch: this is a managed version of the IDispatch interface</summary>
    /// <remarks>We don't use GetIDsOfNames or Invoke, and so haven't 
    /// bothered with correct signatures for them.</remarks>
    [ComImport(), Guid("00020400-0000-0000-c000-000000000046"),
     InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    internal interface IDispatch
    {
        void GetTypeInfoCount(out uint pctinfo);
        void GetTypeInfo(uint itinfo, uint lcid, out IntPtr pptinfo);
        void stub_GetIDsOfNames();
        void Invoke(int dispIdMember, Guid riid, uint lcid, ushort dwFlags, ref System.Runtime.InteropServices.ComTypes.DISPPARAMS pDispParams, ref object pVarResult, ref IntPtr pExcepInfo, ref uint pArgErr);
    }
}
